package com.gxa.worker.recycling.service;

import com.gxa.core.recycling.exception.BusinessException;

import java.util.List;
import java.util.Map;

/**
 * @author Bei
 * @date 2021/12/2 17:57
 */
public interface GoodsOrderService {

    /**
     * 廖泓宇
     * 查询已配送的兑换商品
     */

    List<Map> selectByDelivered(Long rid);

    /**
     * 廖泓宇
     * 统计已配送的记录数
     */
    Integer countDelivered(Long hid);

    /**
     * 廖泓宇
     * 统计待配送的记录数
     */
    Integer countNoDelivered(Long hid);


    /**
     * 根据商品订单，查询商品订单较为详细信息
     * 杨述波
     * @param id
     * @return
     * @throws BusinessException
     */
    Map<String,Object> getDeepOrderInfo(Long id) throws BusinessException;

    /**
     * 杨述波
     * 回收员帮助用户直接兑换产品
     * @param uid
     * @param gid
     */
    void addOrder(Long uid, Long gid,Long recycleId) throws BusinessException;

    /**
     * 根据配送员的id查询隶属小区的兑换商品订单
     * @param id
     * @return
     */
    List<Map<String,Object>> getOrdersByRecyclerId(Long id);

    /**
     * 根据订单号，确认订单完成配送---正常用户
     * @param id
     * @param recyclerId
     */
    void finishOrderById(Long id,Long recyclerId);
}
